SQL Joins

दो या दो से अधिक तालिकाओं से पंक्तियों को जोड़ने के लिए SQL जॉइन के बारे में जानें

SQL JOIN क्या हैं?

JOIN क्लॉज का उपयोग दो या दो से अधिक तालिकाओं की पंक्तियों को उनके बीच के संबंधित कॉलम के आधार पर जोड़ने के लिए किया जाता है।

आइए "ऑर्डर" तालिका से एक चयन देखें:

आदेश तालिका

+---------+------------+------------+
| OrderID | CustomerID | OrderDate  |
+---------+------------+------------+
| 10308   | 2          | 1996-09-18 |
| 10309   | 37         | 1996-09-19 |
| 10310   | 77         | 1996-09-20 |
+---------+------------+------------+

आगे, आइए "ग्राहक" तालिका से एक चयन देखें:

ग्राहक तालिका

+------------+--------------------------------+----------------+---------+
| CustomerID | CustomerName                   | ContactName    | Country |
+------------+--------------------------------+----------------+---------+
| 1          | Alfreds Futterkiste            | Maria Anders   | Germany |
| 2          | Ana Trujillo Emparedados...    | Ana Trujillo   | Mexico  |
| 3          | Antonio Moreno Taquería        | Antonio Moreno | Mexico  |
+------------+--------------------------------+----------------+---------+

टिप्पणी:

"ऑर्डर" तालिका में "ग्राहक आईडी" कॉलम "ग्राहक" तालिका में "ग्राहक आईडी" को संदर्भित करता है। उपरोक्त दो तालिकाओं के बीच का संबंध "ग्राहक आईडी" कॉलम है।

INNER JOIN उदाहरण

फिर, हम निम्नलिखित SQL स्टेटमेंट (जिसमें एक INNER JOIN है) बना सकते हैं जो दोनों तालिकाओं में मेल खाने वाले मानों वाले रिकॉर्ड का चयन करता है:

उदाहरण

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

इससे कुछ इस प्रकार उत्पादन होगा:

निष्कर्ष

+---------+--------------------------------+------------+
| OrderID | CustomerName                   | OrderDate  |
+---------+--------------------------------+------------+
| 10308   | Ana Trujillo Emparedados...    | 9/18/1996  |
| 10365   | Antonio Moreno Taquería        | 11/27/1996 |
| 10383   | Around the Horn                | 12/16/1996 |
| 10355   | Around the Horn                | 11/15/1996 |
| 10278   | Berglunds snabbköp             | 8/12/1996  |
+---------+--------------------------------+------------+

विभिन्न प्रकार के SQL जॉइन

यहां SQL में विभिन्न प्रकार के JOIN दिए गए हैं:

(INNER) JOIN

दोनों तालिकाओं में मेल खाने वाले मानों के साथ रिकॉर्ड लौटाता है

SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;

LEFT (OUTER) JOIN

बाईं तालिका से सभी रिकॉर्ड लौटाता है और दाईं तालिका से मिलान रिकॉर्ड लौटाता है

SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;

RIGHT (OUTER) JOIN

दाईं तालिका से सभी रिकॉर्ड लौटाता है और बाईं तालिका से मिलान रिकॉर्ड लौटाता है

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

FULL (OUTER) JOIN

बाएँ या दाएँ तालिका में मिलान करने पर सभी रिकॉर्ड लौटाता है

SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;

सम्मिलित प्रकार मानचित्र

INNER JOIN

Table A
Table B
लागू डेटा

केवल वह डेटा जो दो तालिकाओं के बीच मेल खाता है

LEFT JOIN

Table A
Table B
लागू डेटा

सभी तालिका ए डेटा + तालिका बी में लागू डेटा

RIGHT JOIN

Table A
Table B
लागू डेटा

सभी तालिका बी डेटा + तालिका ए में लागू डेटा

FULL JOIN

Table A
Table B
लागू डेटा

दोनों तालिकाओं से सभी डेटा

अभ्यास

SQL JOIN का प्राथमिक उद्देश्य क्या है?

मौजूदा तालिकाओं से एक नई तालिका बनाने के लिए
✗ ग़लत! JOIN कोई नई तालिका नहीं बनाता है
किसी तालिका में डुप्लिकेट पंक्तियाँ हटाएँ
✗ ग़लत! डुप्लिकेट पंक्तियों को हटाने के लिए JOIN का उपयोग नहीं किया जाएगा
डेटा को आरोही या अवरोही क्रम में क्रमबद्ध करना
✗ ग़लत! ORDER BY का उपयोग डेटा को सॉर्ट करने के लिए किया जाता है
संबंधित कॉलम के आधार पर दो या दो से अधिक तालिकाओं की पंक्तियों को जोड़ना
✓ ठीक है! JOIN का प्राथमिक उद्देश्य संबंधित कॉलम के आधार पर कई तालिकाओं से डेटा को जोड़ना है